package com.yy.homework;

import org.junit.Test;

import java.util.List;

/**
 * chapter15  com.yy.homework
 * 2023-06-22 22:44
 *
 * @author yy yuyue
 * description : 不可描述
 * @date 2023/6/22 22:44
 */
public class Homework01 {

    public static void main(String[] args) {

    }


    @Test
    public void testList() {
        //说明
        //这里我们给T 指定类型是User
        DAO<User> dao = new DAO<>();
        dao.save("001", new User(1, 10, "qly"));
        dao.save("002", new User(2, 18, "yyq"));
        dao.save("003", new User(3, 38, "rxy"));
        List<User> list = dao.list();

        System.out.println("list=" + list);

        dao.update("003",new User(3,58,"tl"));
        dao.delete("001");//删除
        System.out.println("===修改后====");

        list = dao.list();//必须再次接收一下才可以, 否则输出的是之前的
        System.out.println("list=" + list);

        System.out.println("id=003 " + dao.get("003"));//?  milan
    }

}

/**
 * 编程题 Homework01.java 10min
 * 定义个泛型类 DAO<T>，在其中定义一个Map 成员变量，Map 的键为 String 类型，值为T类型
 * 分别创建以下方法:
 * (1) public void save(String id,T entity): 保存T类型的对象到 Map 成员变量中
 * (2) public T get(String id): 从 map 中获取 id 对应的对象
 * (3) public void update(String id,T entity): 替换 map 中key为id的内容,改为 entity 对象
 * (4) public List<T> list(): 返回 map 中存放的所有 T 对象
 * (5) public void delete(String id): 删除指定 id 对象

 * 定义一个 User 类:该类包含: private成员变量 (int类型) id，age; (String 类型) name.
 * 创建 DAO 类的对象，分别调用其 save、get、update、list、delete 方法
 * 来操作 User 对象使用 Junit 单元测试类进行测试。

 * 思路分析
 * 1. 定义User类
 * 1. 定义Dao<T> 泛型类
 */
